package com.ruoyi.project.purchase.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 采供总清单明细对象 ry_depot_detail
 *
 * @author you
 * @date 2022-09-23
 */
public class RyDepotDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 项目总清单id */
    @Excel(name = "项目总清单id")
    private Long headerId;

    /**
     * 采购订单id
     */
    private Long purchaseOrderId;

    /**
     * 质检单id
     */
    private Long qualityId;

    /**
     * 入库单id
     */
    private Long purchaseInId;

    /**
     * 出库单单id
     */
    private Long purchaseOutId;

    /** 物品id */
    @Excel(name = "物品id")
    private Long inventoryId;

    /** 物品名称 */
    @Excel(name = "物品名称")
    private String inventoryName;

    /** 规格 */
    @Excel(name = "规格")
    private String inventorySpecifications;

    /** 供应商id */
    @Excel(name = "供应商id")
    private Long supplyId;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supply;

    /** 品牌 */
    @Excel(name = "品牌")
    private String brand;

    /** wbs编码 */
    @Excel(name = "wbs编码")
    private String wbs;

    /** 待采购数量 */
    @Excel(name = "待采购数量")
    private Double advancePurchaseNum;

    /** 总库可用数量 */
    @Excel(name = "总库可用数量")
    private Double usableNum;

    /** 实际采购数量 */
    @Excel(name = "实际采购数量")
    private Double actualPurchaseNum;

    /** 发货状态（0未发1已发2运输中3已到4重发） */
    @Excel(name = "发货状态", readConverterExp = "0=未发1已发2运输中3已到4重发")
    private String shippingStatus;

    /** 采购人 */
    @Excel(name = "采购人")
    private String purchaseMan;

    /** 合格数量 */
    @Excel(name = "合格数量")
    private Double qualifiedNum;

    /** 不合格数量 */
    @Excel(name = "不合格数量")
    private Double unqualifiedNum;

    /** 不合格原因 */
    @Excel(name = "不合格原因")
    private String unqualifiedReason;

    /** 退回状态 */
    @Excel(name = "退回状态")
    private String returnStatus;

    /** 重发状态 */
    @Excel(name = "重发状态")
    private String retransmissionStatus;

    /** 重发数量 */
    @Excel(name = "重发数量")
    private Double retransmissionNum;

    /** 质检员 */
    @Excel(name = "质检员")
    private String qualityInspector;

    /** 质检时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "质检时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date qualityTime;

    /**
     * 操作数量：入库或出库数量
     */
    private Double operNumber;

    /** 已入库数量 */
    @Excel(name = "已入库数量")
    private Double havaInNum;

    /** 入库数量，总数量 */
    @Excel(name = "入库数量")
    private Double inNum;

    /** 入库仓库id */
    @Excel(name = "入库仓库id")
    private Long inDepotId;

    /** 入库仓库 */
    @Excel(name = "入库仓库")
    private String inDepot;

    /** 库位 */
    @Excel(name = "库位")
    private String location;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inTime;

    /** 入库操作人员 */
    @Excel(name = "入库操作人员")
    private String inOperateMan;

    /** 已出库数量 */
    @Excel(name = "已出库数量")
    private Double havaOutNum;

    /** 出库数量 */
    @Excel(name = "出库数量")
    private Double outNum;

    /** 出库仓库id */
    @Excel(name = "出库仓库id")
    private Long outDepotId;

    /** 出库仓库 */
    @Excel(name = "出库仓库")
    private String outDepot;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outTime;

    /** 出库操作人员 */
    @Excel(name = "出库操作人员")
    private String outOperateMan;

    /** 领用人 */
    @Excel(name = "领用人")
    private String outForMan;

    /**
     * 转移数量
     */
    private Double transferNum;


    /**
     * 是否属于采购订单
     */
    private String belongtoPurchaseorder;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    /**
     * 单价
     */
    private BigDecimal unitPrice;

    public Long getQualityId() {
        return qualityId;
    }

    public void setQualityId(Long qualityId) {
        this.qualityId = qualityId;
    }

    public Long getPurchaseInId() {
        return purchaseInId;
    }

    public void setPurchaseInId(Long purchaseInId) {
        this.purchaseInId = purchaseInId;
    }

    public Long getPurchaseOutId() {
        return purchaseOutId;
    }

    public void setPurchaseOutId(Long purchaseOutId) {
        this.purchaseOutId = purchaseOutId;
    }

    public Long getPurchaseOrderId() {
        return purchaseOrderId;
    }

    public void setPurchaseOrderId(Long purchaseOrderId) {
        this.purchaseOrderId = purchaseOrderId;
    }

    public String getBelongtoPurchaseorder() {
        return belongtoPurchaseorder;
    }

    public void setBelongtoPurchaseorder(String belongtoPurchaseorder) {
        this.belongtoPurchaseorder = belongtoPurchaseorder;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Double getTransferNum() {
        return transferNum;
    }

    public void setTransferNum(Double transferNum) {
        this.transferNum = transferNum;
    }

    public Double getOperNumber() {
        return operNumber;
    }

    public void setOperNumber(Double operNumber) {
        this.operNumber = operNumber;
    }

    public Long getHeaderId() {
        return headerId;
    }

    public void setHeaderId(Long headerId) {
        this.headerId = headerId;
    }

    public Double getHavaInNum() {
        return havaInNum;
    }

    public void setHavaInNum(Double havaInNum) {
        this.havaInNum = havaInNum;
    }

    public Double getHavaOutNum() {
        return havaOutNum;
    }

    public void setHavaOutNum(Double havaOutNum) {
        this.havaOutNum = havaOutNum;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setInventoryId(Long inventoryId)
    {
        this.inventoryId = inventoryId;
    }

    public Long getInventoryId()
    {
        return inventoryId;
    }
    public void setInventoryName(String inventoryName)
    {
        this.inventoryName = inventoryName;
    }

    public String getInventoryName()
    {
        return inventoryName;
    }
    public void setInventorySpecifications(String inventorySpecifications)
    {
        this.inventorySpecifications = inventorySpecifications;
    }

    public String getInventorySpecifications()
    {
        return inventorySpecifications;
    }
    public void setSupplyId(Long supplyId)
    {
        this.supplyId = supplyId;
    }

    public Long getSupplyId()
    {
        return supplyId;
    }
    public void setSupply(String supply)
    {
        this.supply = supply;
    }

    public String getSupply()
    {
        return supply;
    }
    public void setWbs(String wbs)
    {
        this.wbs = wbs;
    }

    public String getWbs()
    {
        return wbs;
    }
    public void setAdvancePurchaseNum(Double advancePurchaseNum)
    {
        this.advancePurchaseNum = advancePurchaseNum;
    }

    public Double getAdvancePurchaseNum()
    {
        return advancePurchaseNum;
    }
    public void setUsableNum(Double usableNum)
    {
        this.usableNum = usableNum;
    }

    public Double getUsableNum()
    {
        return usableNum;
    }
    public void setActualPurchaseNum(Double actualPurchaseNum)
    {
        this.actualPurchaseNum = actualPurchaseNum;
    }

    public Double getActualPurchaseNum()
    {
        return actualPurchaseNum;
    }
    public void setShippingStatus(String shippingStatus)
    {
        this.shippingStatus = shippingStatus;
    }

    public String getShippingStatus()
    {
        return shippingStatus;
    }
    public void setPurchaseMan(String purchaseMan)
    {
        this.purchaseMan = purchaseMan;
    }

    public String getPurchaseMan()
    {
        return purchaseMan;
    }
    public void setQualifiedNum(Double qualifiedNum)
    {
        this.qualifiedNum = qualifiedNum;
    }

    public Double getQualifiedNum()
    {
        return qualifiedNum;
    }
    public void setUnqualifiedNum(Double unqualifiedNum)
    {
        this.unqualifiedNum = unqualifiedNum;
    }

    public Double getUnqualifiedNum()
    {
        return unqualifiedNum;
    }
    public void setUnqualifiedReason(String unqualifiedReason)
    {
        this.unqualifiedReason = unqualifiedReason;
    }

    public String getUnqualifiedReason()
    {
        return unqualifiedReason;
    }
    public void setReturnStatus(String returnStatus)
    {
        this.returnStatus = returnStatus;
    }

    public String getReturnStatus()
    {
        return returnStatus;
    }
    public void setRetransmissionStatus(String retransmissionStatus)
    {
        this.retransmissionStatus = retransmissionStatus;
    }

    public String getRetransmissionStatus()
    {
        return retransmissionStatus;
    }
    public void setRetransmissionNum(Double retransmissionNum)
    {
        this.retransmissionNum = retransmissionNum;
    }

    public Double getRetransmissionNum()
    {
        return retransmissionNum;
    }
    public void setQualityInspector(String qualityInspector)
    {
        this.qualityInspector = qualityInspector;
    }

    public String getQualityInspector()
    {
        return qualityInspector;
    }
    public void setQualityTime(Date qualityTime)
    {
        this.qualityTime = qualityTime;
    }

    public Date getQualityTime()
    {
        return qualityTime;
    }
    public void setInNum(Double inNum)
    {
        this.inNum = inNum;
    }

    public Double getInNum()
    {
        return inNum;
    }
    public void setInDepotId(Long inDepotId)
    {
        this.inDepotId = inDepotId;
    }

    public Long getInDepotId()
    {
        return inDepotId;
    }
    public void setInDepot(String inDepot)
    {
        this.inDepot = inDepot;
    }

    public String getInDepot()
    {
        return inDepot;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }
    public void setInTime(Date inTime)
    {
        this.inTime = inTime;
    }

    public Date getInTime()
    {
        return inTime;
    }
    public void setInOperateMan(String inOperateMan)
    {
        this.inOperateMan = inOperateMan;
    }

    public String getInOperateMan()
    {
        return inOperateMan;
    }
    public void setOutNum(Double outNum)
    {
        this.outNum = outNum;
    }

    public Double getOutNum()
    {
        return outNum;
    }
    public void setOutDepotId(Long outDepotId)
    {
        this.outDepotId = outDepotId;
    }

    public Long getOutDepotId()
    {
        return outDepotId;
    }
    public void setOutDepot(String outDepot)
    {
        this.outDepot = outDepot;
    }

    public String getOutDepot()
    {
        return outDepot;
    }
    public void setOutTime(Date outTime)
    {
        this.outTime = outTime;
    }

    public Date getOutTime()
    {
        return outTime;
    }
    public void setOutOperateMan(String outOperateMan)
    {
        this.outOperateMan = outOperateMan;
    }

    public String getOutOperateMan()
    {
        return outOperateMan;
    }
    public void setOutForMan(String outForMan)
    {
        this.outForMan = outForMan;
    }

    public String getOutForMan()
    {
        return outForMan;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("inventoryId", getInventoryId())
            .append("inventoryName", getInventoryName())
            .append("inventorySpecifications", getInventorySpecifications())
            .append("supplyId", getSupplyId())
            .append("supply", getSupply())
            .append("wbs", getWbs())
            .append("advancePurchaseNum", getAdvancePurchaseNum())
            .append("usableNum", getUsableNum())
            .append("actualPurchaseNum", getActualPurchaseNum())
            .append("shippingStatus", getShippingStatus())
            .append("purchaseMan", getPurchaseMan())
            .append("qualifiedNum", getQualifiedNum())
            .append("unqualifiedNum", getUnqualifiedNum())
            .append("unqualifiedReason", getUnqualifiedReason())
            .append("returnStatus", getReturnStatus())
            .append("retransmissionStatus", getRetransmissionStatus())
            .append("retransmissionNum", getRetransmissionNum())
            .append("qualityInspector", getQualityInspector())
            .append("qualityTime", getQualityTime())
            .append("inNum", getInNum())
            .append("inDepotId", getInDepotId())
            .append("inDepot", getInDepot())
            .append("location", getLocation())
            .append("inTime", getInTime())
            .append("inOperateMan", getInOperateMan())
            .append("outNum", getOutNum())
            .append("outDepotId", getOutDepotId())
            .append("outDepot", getOutDepot())
            .append("outTime", getOutTime())
            .append("outOperateMan", getOutOperateMan())
            .append("outForMan", getOutForMan())
            .toString();
    }
}
